<?php
class Panel extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->library(array(
                'form_validation', 
                'session',
                'uri'
            ));
        $this->load->model(array(
                'panel_model',
                'news_model',
                'events_model',
                'members_directory_model'
            ));
        $this->load->helper(array(
                'url'
            ));
    }
    
    public function index() {
        redirect('/panel/login', 'refresh');
    }

    public function update($seccion = null, $idioma = null) {
        $session = $this->session->all_userdata();
        if(empty($session['SID'])) {
            redirect('/panel/login/', 'refresh');
        }
        
        $idcontenido = array();
        if($seccion != null && $idioma != null) {
            $idcontenido = $this->panel_model->get_id_contenido($seccion, $idioma);
            if(!empty($idcontenido)) {
                $this->form_validation->set_rules('titulo', 'Titulo', 'required');
                if($this->form_validation->run() == FALSE) {
                    
                } else {
                    $datos = array(
                        'titulo' => $this->input->post('titulo'),
                        'texto' => $this->input->post('texto')
                    );
                    
                    $this->panel_model->update($datos, $idcontenido['idcontenido']);
                    
                }
            }
        }
        
        if($idioma == null) {
            $left['idioma'] = 'en';
        } else {
            $left['idioma'] = $idioma;
        }
        
        if($seccion == null) {
            $left['seccion'] = 'home';
        } else {
            $left['seccion'] = $seccion;
        }
        
        if(!empty($idcontenido)) {
            $datos['contenido'] = $this->panel_model->get_contenido_por_parametros($left['idioma'], $left['seccion']);
        } else {
            $datos['contenido']['titulo'] = '';
            $datos['contenido']['texto'] = '';
        }
        
        $data['segmento'] = $this->uri->segment(3);
        $data['seccion'] = $left['seccion'];
        switch ($left['idioma']) {
            case 'ar':
                $data['idioma'] = 'Arabic';
                break;
            case 'en':
                $data['idioma'] = 'English';
                break;
            case 'es':
                $data['idioma'] = 'Spanish';
                break;
            case 'pt':
                $data['idioma'] = 'Portuguese';
                break;
        }
        
        $t = explode('-', $seccion);
        $titulo = '';
        foreach ($t as $value) {
            $titulo .= strtoupper($value).' ';
        }
        $data['titulo'] = $titulo;
        
        $this->load->view('panel/header', $session);
        $this->load->view('panel/leftsidebar', $left);
        $this->load->view('panel/elegir_idioma', $data);
        if(!empty($idcontenido)) {
            $this->load->view('panel/contenido', $datos);
        }
    }
    
    public function login() {
        $session = $this->session->all_userdata();
        
        $this->form_validation->set_rules('user', 'Usuario', 'required');
        $this->form_validation->set_rules('pass', 'Password', 'required');
        
        if($this->form_validation->run() == FALSE) {
            
        } else {
            $usuario = $this->panel_model->login($this->input->post('user'), $this->input->post('pass'));
            if(!empty($usuario)) {
                $datos = array(
                    'SID' => $usuario['idusuario'],
                    'usuario' => $usuario['usuario'],
                    'idtipodeusuario' => $usuario['idtipodeusuario'],
                    'nombre' => $usuario['nombre'],
                    'apellido' => $usuario['apellido']
                );
                $this->session->set_userdata($datos);
                $session = $this->session->all_userdata();//redirect('/home/', 'refresh');
                
            }
         
        }
        
        if(!empty($session['SID'])) {
            redirect('/panel/update/home/ar/', 'refresh');
        } else {
            $this->load->view('panel/login');
        }
    }
    
    public function logout() {
        $this->session->sess_destroy();
        redirect('/panel/login/', 'refresh');
    } 
    
    public function news($idioma = null) {
        if($idioma == null) {
            $idioma = 'en';
        }
        $session = $this->session->all_userdata();
        if(empty($session['SID'])) {
            redirect('/panel/login/', 'refresh');
        }
        $left['idioma'] = $idioma;
        
        
        $this->form_validation->set_rules('fecha', 'Fecha', 'required');
        //$this->form_validation->set_rules('imagen', 'Imagen', 'required');
        $this->form_validation->set_rules('parrafo', 'Parrafo', 'required');
        //$this->form_validation->set_rules('pdf', 'Pdf', 'required');
        
        if($this->form_validation->run() == FALSE) {
            
        } else {
            $session = $this->session->all_userdata();
            $config['upload_path'] = './upload';
            $config['allowed_types'] = 'gif|jpg|png|pdf';
            
            $this->load->library('upload', $config);
            $nombre_del_campo = 'imagen';
            $imagen = null;
            if(!$this->upload->do_upload($nombre_del_campo)) {
                $error = array('error' => $this->upload->display_errors());
            } else {
                $imagen = array('upload_data', $this->upload->data());
            }

            if($imagen != null) {
                $flag = false;
            }
            
            $nombre_del_campo = 'pdf';
            $pdf = null;
            if(!$this->upload->do_upload($nombre_del_campo)) {
                $error = array('error' => $this->upload->display_errors());
            } else {
                $pdf = array('upload_data', $this->upload->data());
            }

            if($imagen && $pdf) {
                $datos = array(
                    'fecha' => $this->input->post('fecha'),
                    'imagen' => '/upload/'.$imagen[1]['raw_name'].$imagen[1]['file_ext'],
                    'parrafo' => $this->input->post('parrafo'),
                    'pdf' => '/upload/'.$pdf[1]['raw_name'].$pdf[1]['file_ext'],
                    'idioma' => $idioma
                );
                
                $this->news_model->set_news($datos);
            }
            
        }
        
        $data['segmento'] = $this->uri->segment(2);
        $data['news'] = $this->news_model->get_news($idioma);
        switch ($left['idioma']) {
            case 'ar':
                $data['idiomat'] = 'Arabic';
                break;
            case 'en':
                $data['idiomat'] = 'English';
                break;
            case 'es':
                $data['idiomat'] = 'Spanish';
                break;
            case 'pt':
                $data['idiomat'] = 'Portuguese';
                break;
        }
        
        $this->load->view('panel/header', $session);
        $this->load->view('panel/leftsidebar', $left);
        $this->load->view('panel/news', $data);
    }
    
    public function events($idioma = null) {
        if($idioma == null) {
            $idioma = 'en';
        }
        $session = $this->session->all_userdata();
        if(empty($session['SID'])) {
            redirect('/panel/login/', 'refresh');
        }
        $left['idioma'] = $idioma;
        
        $data['idioma'] = $idioma;
        
        $this->form_validation->set_rules('fecha', 'Fecha', 'required');
        $this->form_validation->set_rules('descripcion', 'Descripcion', 'required');
        
        if($this->form_validation->run() == FALSE) {
            
        } else {
            $fecha = substr($this->input->post('fecha'), 6, 4);
            $fecha .= '-';
            $fecha .= substr($this->input->post('fecha'), 0, 2);
            $fecha .= '-';
            $fecha .= substr($this->input->post('fecha'), 3, 2);
            $fecha .= substr($this->input->post('fecha'), 10, 9);
            
            $datos = array(
                'fecha' => $fecha,
                'descripcion' => $this->input->post('descripcion'),
                'idioma' => $idioma
            );
            
            $this->events_model->set_events($datos);
        }
        
        $data['segmento'] = $this->uri->segment(2);
        $data['events'] = $this->events_model->get_events($idioma);
        switch ($left['idioma']) {
            case 'ar':
                $data['idiomat'] = 'Arabic';
                break;
            case 'en':
                $data['idiomat'] = 'English';
                break;
            case 'es':
                $data['idiomat'] = 'Spanish';
                break;
            case 'pt':
                $data['idiomat'] = 'Portuguese';
                break;
        }
        
        $this->load->view('panel/header', $session);
        $this->load->view('panel/leftsidebar', $left);
        $this->load->view('panel/events', $data);
    }
    
    public function delete($seccion, $idioma, $id) {
        switch ($seccion) {
            case 'news':
                $this->news_model->delete_news($id);
                break;
            case 'events':
                $this->events_model->delete_events($id);
                break;
            case 'members':
                $this->members_directory_model->delete_members_directory($id);
                break;
        }
        redirect('/panel/'.$seccion.'/'.$idioma.'/', 'refresh');
    }
    
    public function members($idioma = null) {
        if($idioma == null) {
            $idioma = 'en';
        }
        $session = $this->session->all_userdata();
        if(empty($session['SID'])) {
            redirect('/panel/login/', 'refresh');
        }
        
        $this->form_validation->set_rules('name', 'Name', 'required');
        $this->form_validation->set_rules('email', 'Email', 'required');
        
        if($this->form_validation->run() == FALSE) {
            
        } else {
            $datos = array(
                'name' => $this->input->post('name'),
                'email' => $this->input->post('email'),
                'idioma' => $idioma
            );
            
            $this->members_directory_model->set_members_directory($datos);
            
        }
        
        
        
        $left['idioma'] = $idioma;
        
        $data['idioma'] = $idioma;
        
        if($idioma == null) {
            $left['idioma'] = 'en';
        } else {
            $left['idioma'] = $idioma;
        }
        $seccion = 'members-directory';
        $left['seccion'] = $seccion;
        
        $data['segmento'] = $this->uri->segment(3);
        $data['seccion'] = $left['seccion'];
        switch ($left['idioma']) {
            case 'ar':
                $data['idioma'] = 'Arabic';
                break;
            case 'en':
                $data['idioma'] = 'English';
                break;
            case 'es':
                $data['idioma'] = 'Spanish';
                break;
            case 'pt':
                $data['idioma'] = 'Portuguese';
                break;
        }
        
        $t = explode('-', $seccion);
        $titulo = '';
        foreach ($t as $value) {
            $titulo .= strtoupper($value).' ';
        }
        $data['titulo'] = $titulo;
        
        $data['members'] = $this->members_directory_model->get_members_directory($idioma);
        
        $this->load->view('panel/header', $session);
        $this->load->view('panel/leftsidebar', $left);
        $this->load->view('panel/members', $data);
        
    }
}
?>
